package br.com.pucrs.tcc.rn;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Remote;

import br.com.pucrs.tcc.exception.AlocacaoException;
import br.com.pucrs.tcc.vo.GrupoAlocacao;
import br.com.pucrs.tcc.vo.GrupoAlocado;
import br.com.pucrs.tcc.vo.TotaisAlocacao;

@Remote
public interface AlocacaoRN {
	
	public TotaisAlocacao buscarTotais();
	
	public ArrayList<GrupoAlocacao> realizarAlocacao();
	
	public List<GrupoAlocado> listaAlocacao();
	
	public List<GrupoAlocado> listaNaoAlocacados();

	public boolean alocar(ArrayList<GrupoAlocado> grupos) throws AlocacaoException;

	public boolean finaliza(ArrayList<GrupoAlocado> grupos) throws AlocacaoException;

	public void encaminhaListaProfessores(ArrayList<GrupoAlocado> grupos) throws AlocacaoException;

	public void encaminhaListaTodos(ArrayList<GrupoAlocado> grupos) throws AlocacaoException;
}
